package com.vueblog.webapi.service;

import com.vueblog.webapi.entity.TypeEntity;
import com.vueblog.webapi.request.CreateOrUpdateTypeRequest;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vueblog.webapi.request.BasePageRequest;
import com.vueblog.webapi.response.BasePageResponse;
import com.vueblog.webapi.response.BaseResponse;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author luosj
 * @since 2021-05-15
 */

public interface ITypeService extends IService<TypeEntity> {

    /**
     * 获取分类列表（分页模式）
     */
    BasePageResponse getTypePageList(BasePageRequest request);

    /**
     * 分类列表（下拉框模式）
     */
    BaseResponse getTypeList();

    /**
     * 创建分类
     */
    BaseResponse createType(CreateOrUpdateTypeRequest request);

    /**
     * 编辑分类
     */
    BaseResponse updateTypeInfo(CreateOrUpdateTypeRequest request, String id);

    /**
     * 删除分类
     */
    BaseResponse deleteTypeInfo(String id);

    /**
     * 获取分类对应博客数量列表
     */
    BaseResponse getTypeBlogCountList();

}
